package com.bstek.demo.test;

import com.bstek.urule.console.database.manager.file.FileManager;
import com.bstek.urule.console.database.manager.file.FileQuery;
import com.bstek.urule.console.database.manager.packet.PacketManager;
import com.bstek.urule.console.database.manager.packet.PacketQuery;
import com.bstek.urule.console.database.manager.packet.file.PacketFileManager;
import com.bstek.urule.console.database.manager.packet.file.PacketFileQuery;
import com.bstek.urule.console.database.manager.project.ProjectManager;
import com.bstek.urule.console.database.manager.project.ProjectQuery;
import com.bstek.urule.console.database.model.Packet;
import com.bstek.urule.console.database.model.PacketFile;
import com.bstek.urule.console.database.model.Project;
import com.bstek.urule.console.database.model.RuleFile;
import org.springframework.web.bind.annotation.RequestMapping;

import java.util.List;

/**
 * 以下第三方api只能用在uRule服务端程序（有设计器的功能）中，也可以直连数据库，随心所意操作
 */
@org.springframework.web.bind.annotation.RestController
@RequestMapping("rest")
public class RestController {

    /**
     * 查询知识包
     * @return
     */
    @RequestMapping("getPackages")
    public List<Packet> getPackages() {
         PacketQuery query = PacketManager.ins.newQuery();
         query.paging(1, 10);
         query.nameLike("demo");
         List<Packet> list=query.list();
         System.out.println(list);
         return list;
     }

    /**
     * 查询项目列表
     * @return
     */
    @RequestMapping("getProjects")
    public List<Project> getProjects() {
        ProjectQuery query = ProjectManager.ins.newQuery();
        List<Project> list=query.list();
        System.out.println(list);
        return list;
    }

    /**
     * 查询知识包及文件
     * @return
     */
    @RequestMapping("getPacketFiles")
    public List<PacketFile> getPacketFiles() {
        PacketFileQuery query = PacketFileManager.ins.newQuery();
        query.projectId(301);//项目id
        List<PacketFile> list=query.list();
        System.out.println(list);
        return list;
    }

    /**
     * 查询规则文件
     * @return
     */
    @RequestMapping("getFiles")
    public List<RuleFile> getFiles() {
        FileQuery query = FileManager.ins.newQuery();
        List<RuleFile> list=query.list(1L);//项目id
        System.out.println(list);
        // 获取xml文件内容，大字段
        String xml=FileManager.ins.loadContent(8);
        System.out.println(xml);

        return list;
    }
}
